<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	template="./templates/main.xhtml">

	<ui:define name="title">Listado de facturas recibidas</ui:define>

	<ui:define name="content">

		<f:metadata>
			<f:event type="preRenderView" listener="#{facturasBean.buscar}" />
		</f:metadata>

		<h:form>

			<p:dataTable id="facturas" value="#{facturasBean.facturas}"
				var="factura" dynamic="true"
				emptyMessage="No se han hallado facturas"
				rowEditListener="#{facturasBean.rowEditFacturaListener}"
				onRowEditUpdate="growl facturas">

				<p:column sortBy="#{factura.codigo}"
					headerText="#{msg['label.codigo']}">
					<p:cellEditor>
						<f:facet name="output">
							<p:commandLink value="#{factura.codigo}" style="enlace"
								oncomplete="document.location.href='#{request.contextPath}/ui/detalleFactura.jsf?idFactura=#{factura.id}'"
								title="Ver detalle factura">
							</p:commandLink>
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{factura.codigo}" maxlength="15" size="10" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column sortBy="#{factura.fechaDesde}"
					headerText="#{msg['label.inicioFacturacion']}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{factura.fechaDesde}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</f:facet>
						<f:facet name="input">
							<p:calendar value="#{factura.fechaDesde}" pattern="dd/MM/yyyy"
								size="10" locale="es" pages="3" />
						</f:facet>

					</p:cellEditor>
				</p:column>

				<p:column sortBy="#{factura.fechaHasta}"
					headerText="#{msg['label.hastaFacturacion']}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{factura.fechaHasta}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</f:facet>
						<f:facet name="input">
							<p:calendar value="#{factura.fechaHasta}" pattern="dd/MM/yyyy"
								size="10" locale="es" pages="3" />
						</f:facet>

					</p:cellEditor>
				</p:column>

				<p:column sortBy="#{factura.total}"
					headerText="#{msg['label.totalFactura']}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{factura.total}">
								<f:convertNumber locale="es_ES" type="currency"
									maxFractionDigits="2" />
							</h:outputText>
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{factura.total}" size="14">
								<f:convertNumber locale="es_ES" type="currency"
									maxFractionDigits="2" />
							</h:inputText>
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column sortBy="#{factura.puntosAcumulados}"
					headerText="#{msg['label.puntosAcumulados']}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{factura.puntosAcumulados}"
								converter="javax.faces.Integer" />
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{factura.puntosAcumulados}" maxlength="6"
								size="7" converter="javax.faces.Integer" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column sortBy="#{factura.proveedor}">
					<f:facet name="header">
						<h:outputText value="Proveedor" />
					</f:facet>
					<h:outputText value="#{factura.proveedor}" />
				</p:column>

				<p:column headerText="Estado"
					sortBy="#{empleado.estado.descripcion}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{factura.estado.descripcion}" />
						</f:facet>
						<f:facet name="input">
							<h:selectOneMenu value="#{factura.estado}">
								<f:selectItems value="#{empleadosBean.estados}" />
							</h:selectOneMenu>
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column>

					<f:facet name="header">
						<h:outputText value="" />
					</f:facet>

					<p:rowEditor />

				</p:column>

			</p:dataTable>

			<br />

			<p:button value="Alta nueva factura" outcome="altaFactura"
				image="nuevo" />

		</h:form>

	</ui:define>

</ui:composition>

